package skladowisko.generator;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;


public class ModelGeneracjiBuilder
{
    private ModelGeneracji wynik = new ModelGeneracji(false);

    public ModelGeneracji wczytajModel(String sciezka) throws FileNotFoundException, IOException
    {       
        File plik = new File(sciezka);

        BufferedReader czytacz = new BufferedReader(new FileReader(plik));

        czytacz.readLine();
        wczytajZapelnienia(czytacz);
        czytacz.readLine();
        wczytajStrategie(czytacz);
        czytacz.readLine();
        wczytajPorty(czytacz);

        return wynik;
    }

    private void wczytajZapelnienia(BufferedReader czytacz) throws IOException
    {
        String line;
        while(true)
        {
            line = czytacz.readLine();
            if(line.trim().isEmpty())
                break;

            wynik.addZapelnienie(Double.parseDouble(line));
        }
    }

    private void wczytajStrategie(BufferedReader czytacz) throws IOException
    {
        String line;
        while(true)
        {
            line = czytacz.readLine();
            if(line == null || line.trim().isEmpty())
                break;

            wynik.addStrategia(StrategiaRozmieszczania.valueOf(line));
        }
    }

    private void wczytajPorty(BufferedReader czytacz) throws IOException
    {
        String line;
        while(true)
        {
            line = czytacz.readLine();
            if(line == null || line.trim().isEmpty())
                break;

            wynik.addPort(line);
        }
    }
}
